package com.tronsis.distribution.biz;

import android.app.Activity;

import com.tronsis.library.http.UICallBack;

public interface UpgradeBiz {

    /**
     * 列出升降级
     *
     * @param activity
     * @param page
     * @param size
     * @param callBack
     * @throws Exception
     */
    void getUpgrades(Activity activity, int page, int size, UICallBack callBack) throws Exception;

    /**
     * 提交升降级申请
     *
     * @param activity
     * @param level
     * @param region
     * @param type
     * @param callBack
     * @throws Exception
     */
    void submitUpgradeApply(Activity activity, String level, String region, String type, UICallBack callBack) throws Exception;

    /**
     * 升降级详情
     *
     * @param activity
     * @param upgradeId
     * @param callBack
     * @throws Exception
     */
    void getUpgradeDetail(Activity activity, String upgradeId, UICallBack callBack) throws Exception;


    /**
     * 删除升降级
     *
     * @param activity
     * @param upgradeId
     * @param callBack
     * @throws Exception
     */
    void deleteUpgrade(Activity activity, String upgradeId, UICallBack callBack) throws Exception;

    /**
     * 升级付款
     *
     * @param activity
     * @param payeeId
     * @param paymentFid
     * @param points
     * @param upgradeId
     * @param callBack
     * @throws Exception
     */
    void upgradePay(Activity activity, String payeeId, String paymentFid, String points, String upgradeId, UICallBack callBack) throws Exception;

    /**
     * 补缴押金详情
     *
     * @param activity
     * @param askPayId
     * @param callBack
     * @throws Exception
     */
    void askPayDetail(Activity activity, String askPayId, UICallBack callBack) throws Exception;

    /**
     * 提交补缴押金
     *
     * @param activity
     * @param askPayId
     * @param paymentFid
     * @param callBack
     * @throws Exception
     */
    void submitAskPay(Activity activity, String askPayId, String paymentFid, UICallBack callBack) throws Exception;

    /**
     * 下级退代理列表
     *
     * @param activity
     * @param page
     * @param size
     * @param state
     * @param callBack
     * @throws Exception
     */
    void askQuits(Activity activity, int page, int size, String state, UICallBack callBack) throws Exception;

    /**
     * 为下级退代理付款
     *
     * @param activity
     * @param askQuitId
     * @param stockFid
     * @param callBack
     * @throws Exception
     */
    void askQuitPay(Activity activity, String askQuitId, String stockFid, UICallBack callBack) throws Exception;

    /**
     * 通过下级退代理
     *
     * @param activity
     * @param askQuitId
     * @param callBack
     * @throws Exception
     */
    void askQuitPass(Activity activity, String askQuitId, UICallBack callBack) throws Exception;

    /**
     * 不通过下级退代理
     *
     * @param activity
     * @param askQuitId
     * @param callBack
     * @throws Exception
     */
    void askQuitReject(Activity activity, String askQuitId, UICallBack callBack) throws Exception;

    /**
     * 退代理详情
     *
     * @param activity
     * @param callBack
     * @throws Exception
     */
    void quitDetail(Activity activity, UICallBack callBack) throws Exception;

    /**
     * 申请退出代理
     *
     * @param activity
     * @param addrId
     * @param clear
//     * @param profitMoney
     * @param type
     * @param callBack
     * @throws Exception
     */
//    void quitApply(Activity activity, String addrId, String clear, Double profitMoney, String type, UICallBack callBack) throws Exception;
    void quitApply(Activity activity, String addrId, String clear,  String type, UICallBack callBack) throws Exception;

    /**
     * 退代理产品信息
     *
     * @param activity
     * @param quitId
     * @param callBack
     * @throws Exception
     */
    void quitProductInfo(Activity activity, String quitId, UICallBack callBack) throws Exception;

    /**
     * 退出确认
     *
     * @param activity
     * @param callBack
     * @throws Exception
     */
    void quitConfirm(Activity activity, UICallBack callBack) throws Exception;

    /**
     * 退押申请列表
     *
     * @param activity
     * @throws Exception
     */
    void getQuitDeposit(Activity activity, UICallBack callBack) throws Exception;

    /**
     * 申请退押金
     *
     * @param activity
     * @throws Exception
     */
    void getApplyDeposit(Activity activity, UICallBack callBack) throws Exception;

    /**
     * 提交退押金申请
     *
     * @param activity
     * @throws Exception
     */
    void submitDeposit(Activity activity, UICallBack callBack) throws Exception;

    /**
     * 退押申请详情
     *
     * @param activity
     * @param id
     * @throws Exception
     */
    void getReturnDetail(Activity activity, String id, UICallBack callBack) throws Exception;

    /**
     * 升级所需贡献值数据
     *
     * @param activity
     * @param mUserLevel
     * @throws Exception
     */
    void getAskcontr(Activity activity, String mUserLevel, UICallBack callBack) throws Exception;

    /**
     * 上级确认通过上缴金额凭证
     * @param activity
     * @param id
     * @param callBack
     * @throws Exception
     */
    void confirmFid(Activity activity, String id, UICallBack callBack) throws Exception;

    /**
     * 上级确认不通过上缴金额凭证
     * @param activity
     * @param id
     * @param callBack
     * @throws Exception
     */
    void confirmFail(Activity activity, String id, UICallBack callBack) throws Exception;
}
